package com.tcm.common.enums;

/**
 * 缓存key值公共前缀
 */
public enum CachePrefix {
    /**
     * 在使用时，均需加id形成完整的key值
     */
    PC_USER_TOKEN("PC_TOKEN_USER:"),// 已登录用户Token信息

    PC_USER_INFO("PC_USER_INFO:"),// 用户信息

    PC_TOKEN_DELAYED_FILTERING("PC_TOKEN_DELAYED:"),// Token延迟过滤

    PC_IMPORT_STUDENT_RES("PC_IMPORT_STUDENT_RES:"),// 学生信息批量上传校验结果缓存

    PC_IMPORT_STUDENT_DTO("PC_IMPORT_STUDENT_SU:"),// 学生信息批量上传正确Dto缓存

    PC_IMPORT_SOCIAL_STUDENT_RES("PC_IMPORT_SOCIAL_STUDENT_RES:"),// 社会化学员批量上传校验结果缓存

    PC_IMPORT_SOCIAL_STUDENT_DTO("PC_IMPORT_SOCIAL_STUDENT_SU:"),// 社会化学员信息批量上传正确Dto缓存

    PC_IMPORT_CLOZE_RES("PC_IMPORT:RES:CLOZE:"),// 填空题批量上传校验结果缓存

    PC_IMPORT_CLOZE_DTO("PC_IMPORT:DTO:CLOZE:"),// 填空题批量上传正确Dto缓存

    PC_IMPORT_SUBJECT_RES("PC_IMPORT:RES:SUBJECT:"),// 主观题批量上传校验结果缓存

    PC_IMPORT_SUBJECT_DTO("PC_IMPORT:DTO:SUBJECT:"),// 主观题批量上传正确Dto缓存

    PC_IMPORT_BATTLE_RES("PC_IMPORT:RES:BATTLE:"),// 对战题目批量上传校验结果缓存

    PC_IMPORT_BATTLE_DTO("PC_IMPORT:DTO:BATTLE:"),// 对战题目批量上传正确Dto缓存

    PC_AUTH_CODE_UUID("PC_AUTH_CODE_UUID:"),// 登录验证码

    STU_SCORE_SOCIAL_RANK("STU_SCORE_RANK:SOCIAL"),// 社会化学员积分排行榜

    STU_SCORE_RANK("STU_SCORE_RANK:STUDENT"),// 学生积分排行榜

    STU_SUBJECT_ITEM_CACHE("STU_ITEM_CACHE:SUBJECT:"),// 学生主观题缓存

    STU_CLOZE_ITEM_CACHE("STU_ITEM_CACHE:CLOZE:"),// 学生填空题缓存

    STU_DAILY_EXERCISE_CACHE("STU_DAILY_EXERCISE_CACHE:"),// 学生每日一练缓存

    BOOK_LIST_CACHE("BOOK:LIST_CACHE"),// 书籍节点缓存

    BOOK_CHILD_LIST_CACHE("BOOK:CHILD_LIST_CACHE:"),// 书籍节点缓存

    GROUP_INVITATION_CODE("GROUP_INVITATION_CODE:"),// 学习小组邀请码

    BATTLE_MATCH_USER_INFO("BATTLE:MATCH_USER_INFO:"),// PK对战匹配用户信息

    BATTLE_QUEUE_CACHE_NAME("BATTLE:MATCH_QUEUE"),// PK对战匹配队列缓存名称

    BATTLE_ROOM_CACHE_NAME("BATTLE:ROOM:"),// PK对战房间缓存名称

    BATTLE_ROOM_INVITATION_CODE("BATTLE:BOOM_INVITATION:")// PK对战房间邀请码

    ;

    public String prefix;

    public String getPrefix() {
        return prefix;
    }

    public void setPrefix(String prefix) {
        this.prefix = prefix;
    }

    CachePrefix(String prefix) {
        this.prefix = prefix;
    }

    public String getCacheKey(String id) {
        return this.prefix+id;
    }
}
